The present invention is directed to a method and apparatus for performing image processing. More particularly, the present invention is directed to a method and apparatus which provide that image processing and graphics processing are both performed by a graphics rendering engine in a processing system.
Computer graphics are being used today to perform a wide variety of tasks. Many different areas of business, industry, government, education, and entertainment are tapping into the enormous and rapidly growing list of applications developed for today's increasingly powerful computer devices.
Graphics have also been used for communicating ideas, data, and trends in most areas of commerce, science, and education. Until recently, real time user interaction with three dimensional (3D) model and pseudo-realistic images was feasible on only very high performance workstations. These workstations contain dedicated, special purpose graphics hardware. The progress of semiconductor fabrication technology has made it possible to do real time 3D animation with color shaded images of complex objects, described by thousands of polygons, on powerful dedicated rendering subsystems. The most recent and most powerful workstations are capable of rendering completely life-like, realistically lighted 3D objects and structures.
In addition to the generation of graphics, there has been a continuing development in image processing. Examples of imaging applications include electronic light tables (ELTs) which can be used for defense imaging, two dimensional (2D) and 3D visualization techniques for medical imaging or in other markets where image processing can be critical, e.g., pre-press and post-production to name a few.
In the past, it has been thought that dividing the image processing functionality and the graphics processing functionality into separate dedicated hardware was an advantageous architecture. A simplified block diagram representing this prior art arrangement is shown in FIG. 1. As illustrated, it was believed that it was appropriate to have a unified system under the control of a host 100. However, the image processing operations were left to the image processors 101 while the graphics processing operations were left to graphics rendering system 102.
For the most part, image processing operations constitute basic multiply-and-accumulate operations. An example of how an image may require image processing operations is illustrated in FIG. 2. The process flow is one plausible sequence of image processing steps required by an ELT Application. The image is first warped by module 201. The warped image can then be convolved by module 202. The convolved image is subjected to a histogram operation by module 203. A color table is generated based on the resulting histogram and is then accessed in module 204. The color table and the output of the convolve operation are used in a look-up table module 205 to provide an appropriate output to a display module 206.
One such image processor is the Intel I860 which is a Digital Signal Processor (DSP) typically employed as a dedicated image engine independent of the host and graphics engine.
It would be beneficial if an architecture existed that eliminated the need for separate dedicated hardware for image processing.